home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
edit
/
e34.zip
/
READ.ME
< prev
next >
Wrap
Text File
|
1989-01-10
|
10KB
|
249 lines
┌───────────────────────────┐
│E! SHORT INSTALLATION GUIDE│
└───────────────────────────┘
To install E!:
1/ Un-arc the files contained in both E!34DSK1.ARC and E!34DSK2.ARC in
a directory called C:\E! (or whatever name you prefer). Do not delete
these files. They may be useful to you if E! files are lost. Please
distribute E!34DSK1.ARC and E!34DSK2.ARC instead of E! individual files.
If you have a two diskette drives system be aware that all E! files will
not fit on a single diskette. E!34DSK1 contains all files really needed
to execute E!. E!34DSK2 contains E! documentation, utilities and font
files.
2/ At the DOS prompt enter SET E!=C:\E! (drive and directory where you
copied E! files). If you have a RAM drive copy all files to it and use it
as E! environment variable.
3/ At the DOS prompt enter E! E!.PRO and "uncomment" all options you want
to activate. E!.PRO is a self-explanatory file. Save it using F4. This step
is not mandatory and you may leave the main profile unchanged (that is, you
will have no profile at all since it is a dummy profile).
4/ Eventually enter SET E!PATH=path;path;..... at the DOS prompt. If E!
don't find the specified files in the current directory, it will search
in all paths specified in E!PATH or in the APPEND command of DOS.
5/ Include the directory where you installed E! in your PATH command.
So far, you're done.
To edit one or more files enter
E! filespec1 filespec2 ....
at the DOS prompt.
/L or /l anywhere on the command line will reload all files edited in the
last session of E! in the current directory ( if you have activated the
LOG switch in your active profile).
To print the documentation, just enter "type e!.doc > prn" at the DOS
prompt. E!.DOC is pre-paginated.
I really hope E! will be very useful to you and pleasant to use. Have
fun!
┌──────────┐
│E! HISTORY│
└──────────┘
I'm a System Engineer working at IBM in France and I used many text
editors in my programmer's life. The best tools I've seen (until I wrote
E!) are BRIEF and E3, an IBM internal use. They are very powerful
programs but they both have the same drawback : they have not many basic
functions and they have to be programmed to offer more sophisticated
functionalities. Well, I think many people don't want to spend time
programming the tool they use to write programs... Hmm, you see the
idea?
So I wrote E!. Many functions, quick, efficient, macros capabilities but no
programming. I'm personnaly very pleased with the result but it's up to you
to say if you are too.
It took many of my time from the past two years to write this program but
it was really exciting. It was first written using Turbo Pascal 3.0 but I
quickly got problems with the program size and I used Turbo Power's Turbo
Extender to produce a 150 kb monster. Versions 2.x and 3.x where
rewritten using Turbo Pascal 4.0 and Assembly language (Microsoft MASM)
for some video routines. Beta testers were professional programmers. They
have been very cruel to me but this helped a lot... and now they're using
E!.
Planned enhancements are :
("planned enhancement" has here the same meaning as in the IBM dialect; I
sincerely plan to do this but I can't tell when I'll achieve it)
- Better windowing
- Swapping to disk when calling DOS
- Regular search expressions (although I never used them with other
editors)
- EMS support
- OS/2 version (as soon as your registration fee allow me to purchase an
OS/2 machine)
All this will depend on the success E! will gain among text editors
users.
There are many techniques used to design a text editor. Linked list method
(Borland Editor toolbox) is very easy to implement but has very poor
performances. Moreover, block manipulation is very difficult with such a
structure. The "contiguous block" design and the "contiguous block with
moving hole" design are very efficient for string search but too slow for
lines or strings insertion when the block becomes bigger. I used a
technique that could be called "dynamic pointers arrays allocation". A text
in E! is represented by an array of pointers to text strings. This array is
an element of a larger structure describing the current text. These
structures are linked together in a circular list. A new text structure can
easily be created and inserted in the circular list. The big difficulty is
to manage the pointers arrays size when the text is loaded and when lines
are inserted.
This method cumulate advantages of other methods and has few drawbacks.
It is easier to manage blocks with an array of strings. But since this
array is actually not an array of fixed length strings but an array of
pointers to strings, memory resources can be managed efficiently and no
space is wasted. In E! there is never ONE extra byte allocated for a
string that shouldn't need it. Inserting and deleting lines in such a
structure is very easy since we have only to move pointers and not whole
strings.
┌──────────────────────────────────────────────┐
│MODIFICATIONS SINCE LAST DOCUMENTATION UPDATE │
└──────────────────────────────────────────────┘
The "Paired Brace" command (Alt 6) has been enhanced. It now works on
several levels (lines) and not only on the current line. Moreover, the
BEGIN / END pair is now included in "braces" that E! is able to detect. So
Alt 7 (match brace) will now insert a "BEGIN" or a "END" if the
corresponding "brace" is present on the current line.
*****************************************
If you have to use several times the same path within file specifications
on the E! command line, you may now use the "+" sign instead :
E! c:\myprogs\sources\*.c c:\myprogs\sources\*.h
should be replaced with
E! c:\myprogs\sources\*.c +*.h
Each time the "+" sign is found at the beginning of a file specification,
the path given in the previous specification will be used. So you may use the
"+" sign each time you need it on the command line:
E! c:\myprogs\src\*.pas +*.inc c:\texts\*.txt +*.doc
is the same as
E! c:\myprogs\src\*.pas c:\myprogs\src\*.inc c:\texts\*.txt c:\texts\*.doc
┌──────────────────────────┐
│E! TIPS, CAVEATS and HINTS│
└──────────────────────────┘
If you use E! as "every day's" editor you may want to copy E!.EXE and all
files related to E! on your RAM disk (if you ever installed any on your
system) each time you initialize your computer (autoexec.bat). This way,
E! will edit your files very quickly and your macros will execute quicker
(although they perform very good even if you run them from a hard disk).
Don't forget to set the E! environment variable to the right value.
**************
Personally, I have programming profiles and text editing profiles. I use
different color settings for each profile type. So, I always know by
simply looking at the screen which profile is active.
**************
Macros are generally used to avoid repetitive tasks but you can also use
macros to implement new E! functions. Here is a little example:
Generate the following macros using MACGEN and name them:
GOLEFT.MAC GORIGHT.MAC
[EDITMODE] [EDITMODE]
[BLOCK_MARK] [BLOCK_MARK]
[LEFT] [RIGHT]
[MOVE_BLOCK] [RIGHT]
[UNMARK] [MOVE_BLOCK]
[LEFT]
[UNMARK]
I have assigned these macros to my Alt F11 and Alt F12 keys. Now, if I
hit one of these keys, the current character is moved smoothly to the
left or to the right. This is very useful, for example, when you type
characters in reverse order.
**************
Don't set the DELAY value too low. It could then be possible that